用代码来阐述
看这段代码:
1
| if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))
|
我们对其进行如下重构:
1
| if (employee.isEligibleForFullBenefits())
|
做上面的修改之后,我们一眼就能看出代码的意图,很多时候,简单到只需要创建一个描述与注释所言同一事物的函数即可。
括号后面的注释
有时,程序员会在括号后面放置特殊的注释,尽管这对于含有深度嵌套结构的长函数可能有意义,但只会给我们更愿意编写的短小、封装的函数带来混乱。如果你发现自己想标记右括号,其实应该做的是缩短函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public class wc { public static void main(String[] args) { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String line; int lineCount = 0; int charCount = 0; int wordCount = 0; try { while ((line = in.readLine()) != null) { lineCount++; charCount += line.length(); String[] words = line.split("\\W"); wordCount += words.length; } System.out.println("wordCount = " + wordCount); System.out.println("lineCount = " + lineCount); System.out.println("charCount = " + charCount); } System.err.println("Error:" + e.getMessage()); } } }
|
归属和签名
源代码控制系统非常善于记住是谁在何时添加了什么,所以没必要用那些小小的签名搞脏代码。
注释掉的代码
对于注释掉的代码直接删掉,因为别人不知道注释掉的代码放在这里的意义是什么。
HTML注释
源代码注释中的HTML标记是一种厌恶,如果注释将由某种工具(例如Javadoc)抽取出来呈现到网页,那么该是工具而非程序员来负责给注释加上合适的HTML标签。